//
//  HJUserModel.h
//  KaiChat
//
//  Created by lx on 2023/12/18.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface HJUserModel : NSObject

@property (nonatomic, nullable) NSString *account;
@property (nonatomic, nullable) NSString *avatar;
@property (nonatomic, copy) NSString *gender;
@property (nonatomic, copy) NSString *userId;
@property (nonatomic, copy) NSString *uid;
@property (nonatomic, copy) NSString *oldUid;
@property (nonatomic, copy) NSString *nickname;
@property (nonatomic, copy) NSString *birthday;
@property (nonatomic, copy) NSString *region;
@property (nonatomic, copy) NSString *whatsUp;
@property (nonatomic) BOOL isCanModify;
@property (nonatomic, copy) NSString *modifyDate;
@property (nonatomic, copy) NSString *USDTBalance;

@property (nonatomic, copy) NSString *refreshToken;
@property (nonatomic, copy) NSString *refreshExpire;

@property (nonatomic, copy) NSString *appleUserId;
@property (nonatomic, copy) NSString *googleEmail;
@property (nonatomic, copy) NSString *googleUserId;

@property (nonatomic) BOOL hasPassword;

@property (nonatomic) BOOL mineTabBarItemRead;
@property (nonatomic) BOOL accountSecurityRead;
@property (nonatomic) BOOL bindGoogleRead;
@property (nonatomic) BOOL bindAppleRead;

@property (nonatomic, assign) BOOL bandAdd;
@property (nonatomic, assign) BOOL UIDAdd;
@property (nonatomic, assign) BOOL emailAdd;
@property (nonatomic, assign) BOOL noticeOpen;
@property (nonatomic, assign) BOOL noticePreview;
@property (nonatomic, assign) BOOL noticeSound;
@property (nonatomic, assign) BOOL noticeVibration;

@property (nonatomic, assign) BOOL isRecommendFollowFold;

@property (nonatomic, assign) NSInteger posts;
@property (nonatomic, assign) NSInteger fans;
@property (nonatomic, assign) NSInteger follows;
@property (nonatomic, assign) NSInteger friends;

@property (nonatomic, nullable) NSDictionary *walletInfo;

+ (HJUserModel *)modelWithBlock:(void (^)(HJUserModel *model))block;
+ (HJUserModel *)modelWithUserId:(NSString *)userId;
+ (HJUserModel *)currentAccountModel;

@end

NS_ASSUME_NONNULL_END
